290 X = 30: R4 = 0: R5 = 0: GOSUB 1380: Z = 45: GOSUB 1430: PSET (SX, SY), C3: XNT = SX: YNT = SY'set start point for end of cylinder
FOR T = 1 TO 72 STEP 1: X = 30: R5 = R5 + .08727: GOSUB 1380: Z = 45: GOSUB 1430: LINE -(SX, SY), C3: NEXT T'draw top circumference for end of cylinder
X = 30: R4 = 0: R5 = .17454: GOSUB 1380: Z = -45: GOSUB 1430: PSET (SX, SY), C3: XFT = SX: YFT = SY'set start point for bottom of cylinder
FOR T = 1 TO 32 STEP 1: X = 30: R5 = R5 + .08727: GOSUB 1380: Z = -45: GOSUB 1430: LINE -(SX, SY), C3: NEXT T: XFB = SX: YFB = SY'draw visible portion of circumference of bottom of cylinder
LINE (XNT, YNT)-(XFT, YFT), C3: X = 0: Z = 45: Y = 30: GOSUB 1430: PSET (SX, SY), C3: LINE -(XFB, YFB), C3'connect top and bottom of cylinder
X = 0: Z = 45: Y = 0: GOSUB 1430: PAINT (SX, SY), C0, C3: X = 30: Y = 0: Z = 0: GOSUB 1430: PAINT (SX, SY), C3, C3'paint top of cylinder black, paint curved surface white
'STEP TWO: create pedestal graphic on cylinder
X = 30: R5 = 2.601631: GOSUB 1380: Z = -40: GOSUB 1430: PSET (SX, SY), C1: X = 30: R5 = 2.601631: GOSUB 1380: Z = 2.5: GOSUB 1430: LINE -(SX, SY), C1
X = 30: R5 = .490874: GOSUB 1380: Z = -40: GOSUB 1430: PSET (SX, SY), C1: X = 30: R5 = .490874: GOSUB 1380: Z = 2.5: GOSUB 1430: LINE -(SX, SY), C1
X = 30: R5 = .490874: GOSUB 1380: Z = -40: GOSUB 1430: PSET (SX, SY), C3
FOR R5 = .490874 TO 2.601631 STEP .0490873: X = 30: GOSUB 1380: Z = -40: GOSUB 1430: LINE -(SX, SY), C1: NEXT R5
X1 = SR5 * X: Y = (-1) * (CR5 * X): X = CR4 * X1: Z = SR4 * X1: RETURN
'module: perspective calculations for Cartesian world coordinates
1430 X = (-1) * X: XA = CR1 * X - SR1 * Z: ZA = SR1 * X + CR1 * Z: X = CR2 * XA + SR2 * Y: YA = CR2 * Y - SR2 * XA: Z = CR3 * ZA - SR3 * YA: Y = SR3 * ZA + CR3 * YA: X = X + MX: Y = Y + MY: Z = Z + MZ: SX = D * X / Z: SY = D * Y / Z: RETURN
'module: database of points on surface of cylinder
1850 DATA 2,2,1,-1,-2.5,-3.8,-4.8,-6,-6.7,-7.5,-8,-8.5,-8.8,-9.2,-10,-10.2,-10.9,-11,-11.2,-11.5,-11.7,-11.9,-12,-12,-11.9,-11.7,-11.5,-11.2,-11,-10.9,-10.2,-10,-9.2,-8.8,-8.5,-8,-7.5,-6.7,-6,-4.8,-3.8,-2.5,-1,1,2
1860 DATA 26,26,28,29.2,31,32,33,34,35,35.8,36.5,37,37.2,37.5,37.8,38,38.2,38.3,38.5,38.6,38.6,38.6,38.5,38.3,38.2,38,37.8,37.5,37.2,37,36.5,35.8,35,34,33,32,31,29.2,27.5,25.2,23
1870 DATA 26,26,25.5,25,24.5,24.2,24,23.8,23.7,23.7,23.7,23.7,23.7,23.7,23.8,23.9,23.9,24,24.1,24.2,24.5,24.8,25.1,25.3,25.3,25.5,25.8,26,26,25.8,25.7,25.6,25.5,25.2,25.1,25,24.5,24.3,23.8,23.7,23
1880 DATA 8.2,7.9,7.5,7.1,7,6.9,6.8,6.7,6.6,6.6,6.6,6.7,6.7,6.7,6.8,6.9,7,7.1,7.3,7.5,8,8.2,8.6,8.9,9,9.1,9.4,9.6,9.9,10,10,10,10,9.9,9.8,9.5,9.4,9.1,8.9,8.4,8
1890 DATA 8.2,7,5.5,3.7,2,0,-1,-2,-2.8,-3.8,-4.5,-5.1,-5.7,-5.9,-6.3,-6.7,-7,-7.2,-7.3,-7.4,-7.5,-7.5,-7.4,-7.3,-7.1,-7,-6.7,-6.5,-6,-5.5,-4.8,-4,-3.2,-2.5,-1.5,-.5,.5,2.1,3.5,6,8
1900 DATA 12,21,21,21,21,21,21,21,20.5,20,19,18,17,16,15,15,15,15,15,12,12
1910 DATA 18.3,17.5,17.5,18.3,18.3
1920 DATA 18,19,20,20.8,21,21,21,20.8,20.3,20,19,18,17,16,15,14,13,12.2,12,12,11.8,11.8,12,12.2,12.8,13.2,14,15,16,17
1930 DATA 16.2,17,18,18.5,18.7,18.8,18.7,18,17.5,17,16,15,14.5,14,14,14,14.4,14.6,15,16.2,
1940 DATA 18,20,20.8,21,21.1,21,20.8,20.5,20,19,18,18,18,18,18,18.8,18,17.5,17.4,17.4,17.3,17,16.2,15,14,13,12.1,12,11.9,11.9,12,12.1,12.5,13.3,14.5,14.5,14.5,14.5,14.5,14,14.5,15,15,15.2,15.5,16,16.7,18
1950 DATA 20.8,12,12,20.8,20.8
'module: viewport parameters for 640x350, 640x200, 320x200